-
Notifications
You must be signed in to change notification settings - Fork 72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: Start migrating encodePassable and rankOrder from agoric-sdk to endo #1260
Conversation
de01d52
to
48ed374
Compare
3467d9b
to
7c298e2
Compare
12b36ca
to
b68fd00
Compare
48ed374
to
3a0b618
Compare
ab51707
to
1447b28
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I’m excited to see this move up and generally excited about separating the JSON/binary representation layers. I also see a lot of similarity to Syrup in this binary encoding. Similar but not the same, of course.
I can give this a closer read when it gets higher in priority.
429f29b
to
9a37743
Compare
97c2486
to
172a225
Compare
f0e5e87
to
ae8d7e6
Compare
98bb329
to
e2d0a4e
Compare
f08817f
to
d0403e4
Compare
d63cd69
to
84a183a
Compare
91bd78f
to
013fc1d
Compare
607e292
to
499971c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've made it through encodePassable.js, and will come back later for rankOrder.js.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I feel most strongly about PassStyleRankAndCover
being out-of-place in rankOrder.js (at least while it hard-codes prefix sigils from encodePassable.js), but everything appears like it will function correctly. I support merging now or fixing first, whichever is least disruptive to the relationship between endo and agoric-sdk.
499971c
to
8c5ad08
Compare
f4a2682
to
132ff75
Compare
132ff75
to
8ac6c3d
Compare
For our passable data types, mostly, we have a clean abstraction layering between the "marshal" layer (here in the endo repository) and the "store" layer (currently in the agoric-sdk repository). However, two modules (rankOrder and encodePassable) currently at the store layer really belong at the marshal layer.
The
encodePassable
API and marshal'sencodeToCapData
andencodeToSmallcaps
APIs have converged to the degree that they should. They can be understood together. Before smallcaps, I originally wanted to do this in the hope thatencodePassable
would become an alternate to capData for general use, but @warner 's criticisms below are likely fatal. The remaining purpose ofencodePassable
is specialized uses for which a sort-order-preserving string encoding is useful. Nevertheless, because of the conceptual similarity and layering, it is clearer for these to live here.See also Agoric/agoric-sdk#4435 which we should make progress on as part of a larger project to explain these two abstraction levels and how they relate.
See also Agoric/agoric-sdk#6260 for keeping these two in sync until the situation simplifies.